package org.yeruyi.common.db;

import android.content.Context;
import android.util.Log;

import org.yeruyi.common.util.SpUtil;

/**
 * Author:Yeruyi
 * Date:2017/11/17
 * Version:v1.0
 * Scope:
 * 2017年11月17日 拉出来单独封装
 */
public abstract class RoyBaseSp {

    public final String TAG = "[RoySp-" + getClass().getSimpleName() + "]";

    // 工具类
    private SpUtil mSpUtil;

    protected RoyBaseSp(Context context) {
        mSpUtil = new SpUtil(context, getSpName());
    }

    protected abstract String getSpName();


    /**
     * 存入数据
     *
     * @param key  key
     * @param data data
     * @return
     */
    protected boolean putData(String key, Object data) {
//        Log.d(TAG, "putData: [地址]"+mSpUtil);
        try {
            mSpUtil.putData(key, data);
        } catch (Exception e) {
            Log.e(TAG, "putData: 存入数据异常", e);
            return false;
        }
        return true;
    }

    /**
     * 获取数据
     *
     * @param key 数据
     * @param type 类型
     * @return 数据
     */
    protected Object getData(String key, SpUtil.SP_DATA_TYPE type) {
        return mSpUtil.getDataByKey(key, type);
    }

    /**
     * 清除数据
     *
     * @param key 数据
     * @return 是否成功
     */
    protected boolean clearData(String key){
        try{
            mSpUtil.clearDataByKey(key);
        }catch (Exception e){
            Log.e(TAG, "clearData: sp清理失败，[key]"+key);
            return false;
        }
        return true;
    }


}
